Rule-based prioritization and activation of overlapping screen areas using pointing device

ABSTRACT

Selecting an active one of a plurality of screen areas of one or more applications presented to a user on a screen includes determining properties of the screen areas corresponding to brightness, playing audio, displaying an avatar, transparency of an avatar, timing of new content, intensity of content change, number of objects, number of objects in an intersection of multiple areas, and/or speed of objects in a particular area, setting one or more rules for choosing one of a plurality of the screen areas for a plurality of applications based on at least one of the properties, and selecting a particular one of the screen areas to be the active one of the plurality of screen areas based on the rules, the properties, and location of a pointer or touch area. The avatar may be located, at least partially, within an intersection of different ones of the screen areas.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority to U.S. Prov. App. No. 63/107,107,filed on Oct. 29, 2020, and entitled “RULE-BASED PRIORITIZATION ANDACTIVATION OF OVERLAPPING SCREEN AREAS USING POINTING DEVICE”, which isincorporated herein by reference.

TECHNICAL FIELD

This application is directed to the field of information processing anduser interface in screen-based computer systems, and more specificallyto rule-based prioritization and activation of multiple overlappingscreen areas under the control of multiple user-operated pointingdevices, including touch-based devices and instruments.

BACKGROUND OF THE INVENTION

Important trends in business and consumer computing are causing anupsurge in downloads and in the simultaneous use of multipleapplications by an average mobile and desktop user. These trends includeincreasing size and enhanced resolution of computer screens, the arrivalof retina and 4K/5K displays, a constantly growing raw computing powerand multi-tasking capabilities of mobile devices, notebooks, anddesktops, combined with the expansion of application stores forsignificant computing platforms.

According to industry statistics, the largest application store isGoogle Play with over 2.7 million Android applications. Thesecond-largest is the Apple App Store, which carries 1.82 million iOSapplications. In 2019, global downloads of mobile applications toconnected user devices reached 204 billion copies. An average mobileuser has 20 downloaded applications installed and 25% of users have over30 installed applications, with an average of 25 downloaded andpre-installed applications per month. For the most part, an average userworks with 10 applications simultaneously running at any given time.Notebooks and desktops on major platforms, such as MacOS, Windows,Linux, Chrome, and combined multi-platform installations may runsimultaneously dozens of applications, some of which may be inmulti-instance modes; the latter is illustrated by office andcommunication applications with multiple documents and messages open atthe same time.

From a geometrical standpoint, a computer screen during an intense userworking session represents a densely covered space with multipleoverlapping screen areas (windows), controlled by differentapplications. For the most part, the screen areas have rectangularshapes, but some of the areas, such as user masks in video capturingapplications and other accessibility contours, whether predefined by anapplication or customized by a user, may be non-rectangular; forexample, the mmhmm video communication and recording application allowscircular user masks. Obtaining access to frequently changing screenareas, controlled by various simultaneously running applications, isdone predominantly by a pointing device, such as computer mouse,touchpad, trackpad, digital pen, game console, user fingers performingmulti-touch gestures on a touch screen, etc.

SUMMARY OF THE INVENTION

According to the system described herein, selecting an active one of aplurality of screen areas of one or more applications presented to auser on a screen includes determining properties of the screen areascorresponding to brightness, playing audio, displaying an avatar,transparency of an avatar, timing of new content, intensity of contentchange, number of objects, number of objects in an intersection ofmultiple areas, and/or speed of objects in a particular area, settingone or more rules for choosing one of a plurality of the screen areasfor a plurality of applications based on at least one of the properties,and selecting a particular one of the screen areas to be the active oneof the plurality of screen areas based on the rules, the properties, andlocation of a pointer or touch area. The avatar may be located, at leastpartially, within an intersection of different ones of the screen areas.The avatar may be of a person making a presentation and the intersectionof different ones of the screen areas may include at least a portion ofa presentation slide being used by the person. The screen area thatincludes the avatar may be selected in response to a current hoveringpointer being over the contour of the avatar. The screen area thatincludes the avatar may be selected in response to either touching orclicking into an area within the contour of the avatar. The screen areathat includes the presentation slide may be selected in response to acurrent hovering pointer being over the contour of the avatar and theavatar having a transparency less than a predetermined threshold, whichmay be 50%. The screen area that includes the presentation slide may beselected in response to either touching or clicking into an area withinthe contour of the avatar and the avatar having a transparency less thana predetermined threshold, which may be 50%. A particular one of thescreen areas that intersects with an other one of the screen areas maybe selected based on where a text object has most recently appeared. Thetext object may be received a chat area or an email pane. A particularone of the screen areas that intersects with an other one of the screenareas may be selected based on the particular one of the screen areasbeing a gaming area or an area containing an image that is being edited.At least some of the rules may be composite rules that combine otherrules and additional constraints. An arbiter component may aggregaterule outcomes into a choice of a particular one of the screen areas.

According further to the system described herein, a non-transitorycomputer readable medium contains software that selects an active one ofa plurality of screen areas of one or more applications presented to auser on a screen. The software includes executable code that determinesproperties of the screen areas corresponding to at least one of:brightness, playing audio, displaying an avatar, transparency of anavatar, timing of new content, intensity of content change, number ofobjects, number of objects in an intersection of multiple areas, andspeed of objects in a particular area and executable code that selects aparticular one of the screen areas to be the active one of the pluralityof screen areas based on the properties, location of a pointer or toucharea, and on one or more rules that are set for choosing one of theplurality of the screen areas for the plurality of applications based onat least one of the properties.

With the current generation of user interfaces and the predominantscreen control metaphor, prioritization and activation of theoverlapping and partially visible (or hidden from view) screen areas iscompletely left to a user, who faces complex multi-layer on-screenconfigurations and has to choose between minimizing or otherwisetemporarily erasing from the screen some of the overlapping screenareas, putting select areas in focus for data entry, choosing otherareas for the viewing and presentation purpose, etc. The user may becontinuously interacting with the screen areas for differentapplications and multiple instances of the same multi-instanceapplications. Such prioritization and activation processes are normallydescribed to users and developers through the notions of active,foreground, focus, top-level and other types of windows and often causesuser confusion and well documented issues with controlling the computerscreen where multiple screen areas are simultaneously present.

Part of the problem is an increasingly dynamic nature of contentsupported by connected, intelligent and live applications; many of theapplications may possess complex behaviors only partially controlled bythe user (for example, games) or may be completely out of user control(various connected messaging, informational and other applications,countless types of notifications and alerts, etc.). The prevalence ofdynamic content calls for system assistance through the process of anintelligent, constantly updated, and content-centric prioritization andactivation of screen areas.

Accordingly, it is important to develop techniques and systems forassisted prioritization and activation of overlapping screen areas by auser operating a pointing device.

The proposed system continuously monitors screen areas supported by oneor multiple running applications and by the application contentassociated with these areas, detects intersections of the screen areas,and assesses dynamic priorities of the intersecting areas or activatesone of the intersecting areas when the coordinates of a hoveringpointer, a pointing or a multi-touch gesture appear within suchintersections. Prioritization and activation are based on the propertiesof the overlapping screen areas reflecting the content and otherattributes of the screen areas and on a set of prioritization andactivation rules that depend on such properties as the parameters of therules.

System functioning may be explained as follows.

-   -   1. Screen areas or windows, supported by one or multiple        applications on a desktop, notebook, tablet, smartphone, or        other device are displaying content, generated by applications        and application data; two or more visible (at least partially)        screen areas of currently running applications may intersect on        the screen.    -   2. A screen coordinate or a coordinate zone of a pointer, a        click, a multi-touch or other gesture produced by a pointing        device, such as a mouse, trackpad, electronic or light pen, game        console, user finger(s), etc., may fall within an intersection        of two or more screen areas or contain a portion of such        intersection (for example, in case of a resizing two-finger        gesture on a touch screen), which results in an uncertainty as        to which of the screen areas under the pointer should be        prioritized (in case of a hovering pointer), activated or        operated.    -   3. The uncertainty in prioritization and activation between the        intersecting screen areas may be resolved by a continuous        assessment of dynamic priorities associated (i) with the        properties of the overlapping screen areas and content; and (ii)        with the set of prioritization and activation rules that depend        on such properties.    -   4. Examples of prioritization and activation rules may include:        -   a. Prioritizing/activating a brightest or the darkest of the            overlapping screen areas (which may be assessed using            various brightness metrics).        -   b. Prioritizing/activating a screen area, among multiple            overlapping areas, that currently plays audio/music (the            rule may be moot if none or more than one screen area does            that).        -   c. Prioritizing/activating a screen area which displays an            avatar of a person (or another object, such as a car, a            building, or a tree) that is located, at least partially,            within the intersection of several screen areas and under            the current hovering pointer or in the touch area of an            activation gesture.        -   d. Same as previous, except corrected for the transparency            of the image of the avatar; the previous rule 4c applies to            this case only if the current transparency of the avatar is            below a predefined threshold (for example, 50%); if an            avatar/object is quite transparent, the area of the avatar            is not selected. As an example, rules 4c and 4d have been            implemented in the mmhmm software to dynamically prioritize            and activate the screen area associated with a mask of a            presenter if the mask overlaps with the screen area of            presentation slides based on a position of the avatar of a            presenter relative to a current pointer position.        -   e. Select an area where a new text object (document,            message, etc.) has appeared most recently. For instance, if            -   i. A chat area and an email pane are intersecting.            -   ii. The pointer hovers above the intersection.            -   iii. The most recent chat entry has been entered at                10:22 am and the most recent email has arrived at 10:25                am.            -   iv. Then the system will prioritize (choose in case of a                click or a [multi-]touch gesture) the email pane,                because the latest text object that arrived at the email                pane has been more recent than the arrival at the chat                pane (10:25 am vs. 10:22 am).            -   f. Select the area where the content has been changing                most intensively for some period before the                prioritization or activation decision. According to this                rule, a document area may lose activation priority to a                gaming or an image editing area.    -   5. Composite rules and arbiter. The system is continuously        assessing the relevant properties of screen areas and the        content associated with different active applications, along        with the overlap of the screen areas and the pointer position        with respect to the intersection of the areas. When a decision        on prioritizing or activating an area overlapping with other        area(s) is made, two system actions are invoked:        -   a. The applicable rules are actuated.        -   b. The arbiter component aggregates rule outcomes into a            choice of the prioritized/activated area.    -    There may be different types of rule hierarchies, ranking,        composite rules and weighted scoring of rule sets. Rules may be        combined by Boolean expressions, ordered, scored, etc.    -   6. Examples of composite rules and rule arbiters may include:        -   a. A hierarchy of three rules:            -   (1) Select an area where the content includes maximum                number of objects—cars, people, trees.            -   (2) Rule (1) & maximum number of same objects in the                intersection of areas.            -   (3) Rule (2) & maximum number of same objects under the                pointer.            -   In this example, each subsequent rule may serve as a                tiebreak for the preceding rules.        -   b. Select the area among a set of intersecting areas where            the average speed of dynamic objects is the highest|the area            that has the center closest to the previously selected area.        -   The second part of the rule (6b) may serve as a fall back in            case when, for instance, all content in the intersecting            screen areas is static.

Rules and aggregation conduits may be assigned to screen areas supportedby each application at the design phase and may be potentially updatedor set up by users.

A formula for dynamic prioritization and choice results among multiplescreen areas with dynamic content controlled by a pointing device orinstrument can be expressed as follows:A*(t,D)=

({P _(i)(A _(i)(t),C _(i)(t))},t,{right arrow over (x)} ^(D)(t),∩A_(i)(t)),where A* is the chosen or prioritized screen area;t is the calendar time or the internal computer time;D is the pointing device;

is the set of prioritization and choice rules described above;A_(i)(t) are the dynamic intersecting screen areas of differentapplications or of instances of the same application;∩A_(i)(t) is the intersection of the dynamic screen areas at the time t;C_(i)(t) is the dynamic application content identified by the system ineach screen area and relevant to prioritization and choice of theoptimal area A*;P_(i) is a set of parameters for a particular dynamic application areaused by the prioritization and choice rules, as explained elsewhereherein; the parameters may combine and aggregate the properties of thecontent and the area (for example, density, types, color, size and speedof content objects, geometry, and shape of the area, etc.){right arrow over (x)}^(D) are dynamic (x, y) or, in some cases, (x, y,z) coordinates of the pointing device hovering over the screen ortouching the screen; the most intense processing of the prioritizationand choice rules normally occurs when the dynamic coordinates of thepointing device enter the intersection of the screen areas, {right arrowover (x)}^(D)(t)∈∩A_(i)(t).

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the system described herein will now be explained in moredetail in accordance with the figures of the drawings, which are brieflydescribed as follows.

FIG. 1 is a schematic illustration of system components and functioning,according to an embodiment of the system described herein.

FIG. 2 is a schematic illustration of categorization of area and contentproperties, according to an embodiment of the system described herein.

FIG. 3 is a schematic illustration of dynamic prioritization of avatarand presentation screen areas for a hovering pointer, according to anembodiment of the system described herein.

FIG. 4 is a schematic illustration of activation options for overlappingscreen areas of a presenter and a presentation, according to anembodiment of the system described herein.

FIG. 5 is a schematic illustration of activation options for overlappingscreen areas with a transparent presenter avatar, according to anembodiment of the system described herein.

FIG. 6 is a schematic illustration of activation options for overlappingscreen areas of messaging applications, according to an embodiment ofthe system described herein.

FIG. 7 is a system flow diagram illustrating system functioning inconnection with prioritization and activation choices between multipleoverlapping screen areas of simultaneously running applications,according to an embodiment of the system described herein.

DETAILED DESCRIPTION OF VARIOUS EMBODIMENTS

The system described herein provides a mechanism for dynamicprioritization and activation of running applications by a pointingdevice located in the intersection of the screen areas occupied by theapplication content based on a hierarchic system of prioritizationrules.

FIG. 1 is a schematic illustration 100 of system components andfunctioning. A computers screen 110 of a desktop or mobile computer, asmartphone or other device is partially or fully occupied by dynamicallyallocated screen areas 120 of running applications that may form anintersection 130. Each screen area may have content 140 produced by acorresponding application. The combination of an application screen areaand content is characterized by a dynamically changing set of parameters150 (P_(i)(A_(i)(t), C_(i)(t)) in the notations of the Summary section).Screen control is performed by a pointing device 160, which may be amouse, a trackpad, a digital pen, or a game console. A user may controlthe screen 110 using multi-touch gestures. Different devices maygenerate a click 170 at an (x, y) coordinate 175 or a hovering cursor(not shown in FIG. 1 ) that may be characterized by a two- orthree-dimensional coordinate and may have other parameters depending onthe type of the device and the screen technology.

Subsequently, a set of rules 180 (

) depending on parameters 150 a of the applications screen areas and theproperties of the content within the areas generated by theapplications, at a time 181, on a vector 175 a of the pointing devicecoordinates {right arrow over (x)}^(D) (t) and on the characteristics ofan intersection 130 a of the screen areas ∩A_(i)(t) determines apriority or activation area 190 (A*), which is also marked on the screenas a screen area 190 a.

FIG. 2 is a schematic illustration 200 of categorization of area andcontent properties. A categorization chart 210 includes two high-levelcategories of a property body 220 and of temporal characteristics 230 ofproperties, which has only two subcategories of static properties 230 aand of dynamic properties 230 b. The body category 220 has two immediatesubcategories, corresponding to the descriptions of FIG. 1 andrepresenting a screen area subcategory 240 and a content subcategory250. The screen area subcategory 240 has two subcategories: a geometrysubcategory 240 a and a background subcategory 240 b, of which thegeometry subcategory 240 a has two subordinate subcategories—a shapesubcategory 240 a 1 and a dimensions subcategory 240 a 2. A backgroundsubcategory 240 b is terminal.

A content subcategory 250 has three immediate subcategories—media 260,objects 270, and position 280, characterizing content properties. Anobjects subcategory 270 is not detailed in FIG. 2 (which may require aseparate categorization chart), whereas a media subcategory 260 isfurther categorized by media types—text 260 a, audio 260 b, images 260c, and video 260 d, each of the media types 260 a-d havingsubtypes—subcategory 290 a and parameters 290 b. Examples of subtypesmay include speech and music for audio and plain and formatted text fortext, while examples of parameters may include audio volume and timbre,text size and style, image dimensions and resolution, etc. A positionsubcategory 280 defines content location characteristics relevant toprioritization and activation tasks and includes a position 280 a in thearea, outside of the intersection with other screen areas, a position280 b within the intersection of multiple screen areas, and a position280 c within the intersection and under the pointer.

FIG. 3 is a schematic illustration 300 of dynamic prioritization ofavatar and presentation screen areas for the hovering pointer. Twointersecting screen areas 120 a, 120 b are representing two associatedtypes of content: a presentation slide 140 a and an avatar 140 b of thepresenter, captured with circular mask and immersed into thepresentation view. A cursor 310, 315 is hovering over the intersection130 of the two screen areas (hinting at an electromagnetic technologyused for the screen and an inductive pointing device, such as a mouse ora tethered/wireless pen).

Initially, at the left portion of FIG. 3 , the cursor 310 is hoveringoutside a contour of the avatar 140 b of a presenter over the slidecontent 140 a; accordingly, a priority 320 is given to the slide area120 a, which is located on top of the area 130 b within the intersection130. Subsequently, the cursor 315 crosses the contour of the avatar 140b (the right portion of FIG. 3 ) and the situation changes:prioritization rules instruct the system to choose the avatar 140 b overthe presentation slide 140 a; accordingly, the priority 320 is given tothe screen area 120 b, which puts the screen area 120 b on top of thescreen area 120 a, bringing the avatar 140 b to the foreground. (Notethat the Latin letters A, B and the notations C_(A), C_(B) also indicatescreen areas and content, while the checkmark and the delete sign showprioritized and deprioritized, foreground and background screen areas.)

FIG. 4 is a schematic illustration 400 of the activation options foroverlapping screen areas of a presenter and a presentation. Under thesame notations as in FIG. 3 (the screen areas 120 a, 120 b and theintersection 130, and the associated presentation slide 140 a and theavatar 140 b captured with a circular mask), the pointing method is aclick 170, 170 a. Analogously to the situation in FIG. 3 , the initialclick 170 in the intersection 130 of the screen areas in the left sideof FIG. 4 is made outside the contour of the avatar 140 b and theactivation 410 under the prioritization and activation rules belongs tothe slide area 120 a. In contrast, in the right side of FIG. 4 , despitethe intersection area 130, the click 170 a is made on the contour of theavatar 140 b and the prioritization and activation rules 410 choose thearea 120 b containing the avatar 140 b as a winner.

FIG. 5 is a schematic illustration 500 of the activation options foroverlapping screen areas with a transparent presenter avatar. In thenotations of FIGS. 3, 4 , the two screen areas 120 a, 120 b areintersecting over the intersection 130; the content of the area 120 a isthe presentation slide 140 a, while the content of the area 120 b is theavatar 140 b, which may be a semi-transparent image captured by a cameraof the presenter and using a circular mask and immersed into thepresentation scene overlapping with the slide. Under one presentationscenario, the presenter has intentionally made the avatar 140 bsemi-transparent to keep the expressive abilities (such as pointing tothe presentation content on the slide), the source of presenter's voiceand other characteristics accessible for the audience, while eliminatingan obstruction of the slide caused by the presence of the avatar 140 b.Accordingly, the prioritization and activation rules may be sensitive toa transparency level of the avatar 140 b and, in contrast with theactivation rules in FIG. 4 , when the click 170 touches or falls insidethe a shape of the avatar 140 b, the rules may assess the transparencylevel of the avatar 140 b and, in case of a significantly transparentshape (e.g., greater than 50% transparent), may choose to activate thearea 120 a containing the presentation slide 140 a, as indicated by thebold area signifiers A, A_(C) and the activation checkmark.

FIG. 6 is a schematic illustration 600 of the activation options foroverlapping screen areas of messaging applications. Two screen areas 120c and 120 d have rounded rectangular shapes and include an intersection130′; the screen area 120 c belongs to a messaging applicationgenerating content 140 c; the screen area 120 c is an email pane withcontent 140 d. In this case, the prioritization and activation rules aremonitoring the timing of the most recent content change in the screenareas. Specifically, when a click 170′ hits the intersection 130′, thesystem checks for a most recent message 610 in the area 120 c and fortiming 620 of the message 610, as well as a most recent email 630 in thearea 120 d and a timing 640 of the most recent email 630. By comparingthe times of the most recent content changes and choosing the latest ofthe time, the system identifies an activation winner 410, which in thiscase belongs to the area 120 d (the timing 640 is 10:25 am and is morerecent than the timing 620 of 10:22).

Referring to FIG. 7 , a system flow diagram 700 illustrates systemfunctioning in connection with prioritization and activation choicesbetween multiple overlapping screen areas of simultaneously runningapplications. Processing begins at a step 710, where a setup ofprioritization and activation rules is initiated. After the step 710,processing proceeds to a step 715, where running applications and thecorresponding screen areas are selected. After the step 715, processingproceeds to a step 720, where the screen area and content propertiesrelevant to the prioritization and activation rules are identified.After the step 720, processing proceeds to a step 725, where an initialset of rules is chosen from the rule repository. After the step 725,processing proceeds to a step 730, where the system adds new rules(possibly defined or customized by a user). After the step 730,processing proceeds to a step 735, where the system chooses or definesrule hierarchy, weights of components in composite rules, scoringsystem, fallback, and tiebreak rules, as explained elsewhere herein.After the step 735, processing proceeds to a step 740, where a trackingsession starts.

After the step 740, processing proceeds to a step 745, where the systemtracks active screen areas and associated content. After the step 745,processing proceeds to a step 750, where the system tracks static anddynamic properties of active screen areas and content. After the step750, processing proceeds to a step 755, where the system identifies theintersections of active screen areas and the associated content, asexplained elsewhere herein (see, for example, FIG. 1 and theaccompanying text). After the step 755, processing proceeds to a step760, where the system detects the position(s) of a pointer, touch, or amulti-touch gesture, as explained elsewhere herein, for instance, inconnection with FIGS. 1, 3-6 . After the step 760, processing proceedsto a test step 762, where it is determined whether the pointer (touch,multi-touch component) position is within an intersection of two or morescreen areas; if not, processing proceeds to a test step 765, where itis determined whether the tracking session has ended. If so, processingis complete; otherwise, processing proceeds back to the step 745 (whichmay be independently reached from the step 740, discussed above).

If it was determined at the test step 762 that the pointer positionbelongs to an intersection of two or more screen areas, processingproceeds to a step 770, where the system detects the intersecting activescreen areas that contain the current position of the pointer. After thestep 770, processing proceeds to a step 772, where the prioritizationand activation rules for each area are retrieved. After the step 772,processing proceeds to a step 775, where the system identifies feasiblerules supported by the currently available (i.e., tracked) area andcontent properties (see, for example, FIG. 2 and the accompanying textfor more information). After the step 775, processing proceeds to a step780, where the system applies feasible prioritization and/or activationrules, as generally explained in FIG. 1 and exemplified in FIGS. 3-6 andthe accompanying text. After the step 780, processing proceeds to a teststep 782, where it is determined whether the priority/activation screenarea is identified. If not, processing proceeds to a step 785, where thefeasible and applicable fallback and possibly tiebreak rules are appliedto identify the priority screen area and the corresponding activeapplication. After the step 785, processing proceeds to a test step 790,where it is determined whether an activation (via a click, tap, etc.) isrequired, as explained elsewhere herein and exemplified in FIGS. 4-6 andthe accompanying text. If so, processing proceeds to a step 792, wherethe priority screen area is activated. After the step 792, processing iscomplete. If it was determined at the test step 790 that activation isnot required, processing proceeds to a step 795, where the system keepsrecord of the priority screen area. After the step 795, processing iscomplete. Note that the test step 790 may be independently reached fromthe test step 782 if it was determined that the priority screen area isidentified.

Various embodiments discussed herein may be combined with each other inappropriate combinations in connection with the system described herein.Additionally, in some instances, the order of steps in the flowcharts,flow diagrams and/or described flow processing may be modified, whereappropriate. Subsequently, system configurations may vary from theillustrations presented herein. Further, various aspects of the systemdescribed herein may be deployed on various devices, including, but notlimited to wearable devices, smartphones, tablets, and other mobilecomputers. Mobile devices may use operating system(s) selected from thegroup consisting of: iOS, Android OS, Windows Phone OS, Blackberry OS,and mobile versions of Linux OS. Certain components of the system may becloud based and interact with mobile computers.

Software implementations of the system described herein may includeexecutable code that is stored in a computer readable medium andexecuted by one or more processors. The computer readable medium may benon-transitory and include a computer hard drive, ROM, RAM, flashmemory, portable computer storage media such as a CD-ROM, a DVD-ROM, aflash drive, an SD card and/or other drive with, for example, auniversal serial bus (USB) interface, and/or any other appropriatetangible or non-transitory computer readable medium or computer memoryon which executable code may be stored and executed by a processor. Thesoftware may be bundled (pre-loaded), installed from an app store ordownloaded from a location of a network operator. The system describedherein may be used in connection with any appropriate operating system.

Other embodiments of the invention will be apparent to those skilled inthe art from a consideration of the specification or practice of theinvention disclosed herein. It is intended that the specification andexamples be considered as exemplary only, with the true scope and spiritof the invention being indicated by the following claims.

What is claimed is:
 1. A method of selecting an active one of aplurality of screen areas of one or more applications presented to auser on a screen, comprising: determining properties of the screen areascorresponding to at least one of: brightness, playing audio, displayingan avatar, transparency of an avatar, timing of new content, intensityof content change, number of objects, number of objects in anintersection of multiple areas, and speed of objects in a particulararea; providing the avatar within a particular one of the screen areas;setting one or more rules for choosing one of a plurality of the screenareas for a plurality of applications based on at least one of theproperties; and selecting the particular one of the screen areascontaining the avatar to be the active one of the plurality of screenareas based on the rules, the properties, and location of a pointer ortouch area being within a contour of the avatar and the avatar beinglocated, at least partially, within an intersection of different ones ofthe screen areas, wherein a screen area other than the particular one ofthe screen areas containing the avatar is selected in response to thepointer or touch area being within the particular one of the screenareas and outside the contour of the avatar and wherein the avatarcorresponds to an image of an object and wherein the image is smallerthan and located in the particular one of the screen areas.
 2. Themethod of claim 1, wherein the avatar is of a person making apresentation and the intersection of different ones of the screen areasincludes at least a portion of a presentation slide being used by theperson.
 3. The method of claim 2, wherein the screen area that includesthe avatar is selected in response to a current hovering pointer beingover the contour of the avatar.
 4. The method of claim 2, wherein thescreen area that includes the avatar is selected in response to eithertouching or clicking into an area within the contour of the avatar. 5.The method of claim 2, wherein the screen area that includes thepresentation slide is selected in response to a current hovering pointerbeing over the contour of the avatar and the avatar being moretransparent than a predetermined threshold.
 6. The method of claim 5,wherein the predetermined threshold is 50%.
 7. The method of claim 2,wherein the screen area that includes the presentation slide is selectedin response to either touching or clicking into an area within thecontour of the avatar and the avatar being more transparent than apredetermined threshold.
 8. The method of claim 7, wherein thepredetermined threshold is 50%.
 9. The method of claim 1, wherein atleast some of the rules are composite rules that combine other rules andadditional constraints.
 10. The method of claim 1, wherein selecting theparticular one of the screen areas containing the avatar includes anarbiter component aggregating rule outcomes into a choice of theparticular one of the screen areas.
 11. A non-transitory computerreadable medium containing software that selects an active one of aplurality of screen areas of one or more applications presented to auser on a screen, the software comprising: executable code thatdetermines properties of the screen areas corresponding to at least oneof: brightness, playing audio, displaying an avatar, transparency of anavatar, timing of new content, intensity of content change, number ofobjects, number of objects in an intersection of multiple areas, andspeed of objects in a particular area, the avatar being provided withina particular one of the screen areas; and executable code that selectsthe particular one of the screen areas containing the avatar to be theactive one of the plurality of screen areas based on the properties,location of a pointer or touch area being within a contour of the avatarand the avatar being located, at least partially, within an intersectionof different ones of the screen areas, and on one or more rules that areset for choosing one of the plurality of the screen areas for theplurality of applications based on at least one of the properties,wherein a screen area other than the particular one of the screen areascontaining the avatar is selected in response to the pointer or toucharea being within the particular one of the screen areas containing theavatar and outside the contour of the avatar and wherein the avatarcorresponds to an image of an object and wherein the image is smallerthan and located in the particular one of the screen areas.
 12. Thenon-transitory computer readable medium of claim 11, wherein the avataris of a person making a presentation and the intersection of differentones of the screen areas includes at least a portion of a presentationslide being used by the person.
 13. The non-transitory computer readablemedium of claim 12, wherein the screen area that includes the avatar isselected in response to a current hovering pointer being over thecontour of the avatar.
 14. The non-transitory computer readable mediumof claim 12, wherein the screen area that includes the avatar isselected in response to either touching or clicking into an area withinthe contour of the avatar.
 15. The non-transitory computer readablemedium of claim 12, wherein the screen area that includes thepresentation slide is selected in response to a current hovering pointerbeing over the contour of the avatar and the avatar being moretransparent than a predetermined threshold.
 16. The non-transitorycomputer readable medium of claim 15, wherein the predeterminedthreshold is 50%.
 17. The non-transitory computer readable medium ofclaim 12, wherein the screen area that includes the presentation slideis selected in response to either touching or clicking into an areawithin the contour of the avatar and the avatar being more transparentthan a predetermined threshold.
 18. The non-transitory computer readablemedium of claim 17, wherein the predetermined threshold is 50%.
 19. Thenon-transitory computer readable medium of claim 11, wherein at leastsome of the rules are composite rules that combine other rules andadditional constraints.
 20. The non-transitory computer readable mediumof claim 11, wherein selecting the particular one of the screen areascontaining the avatar includes an arbiter component aggregating ruleoutcomes into a choice of the particular one of the screen areas.